<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    /**
     * Run the migrations.
     */
    public function up(): void
    {
        Schema::create('dawn_zhjy_users', function (Blueprint $table) {
            $table->id('dawn_zhjyId')->comment("智慧教育用户表id")->nullable(false);  // 不允许为空
            $table->unsignedBigInteger('dawn_id')->comment("系统用户表")->nullable(false); // 不允许为空
            $table->string('dawn_zhjyUser')->comment("智慧教育登录账号")->nullable(false); // 不允许为空
            $table->string('dawn_zhjyPassword')->comment("智慧教育登录密码")->nullable(false); // 不允许为空
            $table->string('dawn_zhjyAvatar')->comment("头像")->nullable(); // 允许为空
            $table->string('dawn_zhjyEmail')->comment("邮箱")->nullable(); // 允许为空
            $table->string('dawn_zhjyPhone')->comment("电话")->nullable(); // 允许为空
            $table->string('dawn_zhjyidEntity')->comment("身份")->nullable(false); // 不允许为空
            $table->string('dawn_zhjyIdCar')->comment("身份证号")->nullable(); // 允许为空
            $table->string('dawn_zhjyIdName')->comment("身份证真实姓名")->nullable(false);// 允许为空
            $table->string('dawn_zhjySex')->comment("性别")->nullable(false);// 允许为空
            $table->string('dawn_zhjyIStudentId')->comment("学号")->nullable(false); // 允许为空
            $table->string('dawn_zhjyDeptName')->comment("班级")->nullable(false); // 允许为空
            $table->string('dawn_zhjyEnrollmentYear')->comment("应届数")->nullable(false); // 允许为空
            $table->dateTime('dawn_zhjyCreateTime')->comment("创建时间")->nullable(false); // 不允许为空
            $table->dateTime('dawn_zhjyUpdataTime')->comment("修改用户时间")->nullable(false); // 允许为空
            $table->integer('dawn_zhjyStatus')->comment("当前账户状态，0 正常, 1 未通过系统校验")->nullable(false); // 不允许为空

            // 设置外键关联
            $table->foreign('dawn_id')
                  ->references('dawn_id')
                  ->on('dawn_users')
                  ->onDelete('cascade')
                  ->onUpdate('cascade');
        });
    }

    /**
     * Reverse the migrations.
     */
    public function down(): void
    {
        Schema::table('dawn_zhjy_users', function (Blueprint $table) {
            $table->dropForeign(['dawn_id']);
        });
        Schema::dropIfExists('dawn_zhjy_users');
    }
};
